package com.liujit.common.utils;

import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil;

import java.util.List;

/**
 * @Description: 工具类
 * @Author: liujun
 * @Date: 2021/7/2 10:37 下午
 */
public class CommonUtil {

    /**
     * 判断对象是否包含
     *
     * @param obj
     * @param str
     * @return
     * @suthor: liujun
     * @date: 2021/7/2 6:41 下午
     */
    public static boolean checkContains(Object obj, String str) {
        JSONArray array = JSONUtil.parseArray(obj);
        List<String> list = JSONUtil.toList(array, String.class);
        return CollectionUtil.contains(list, str);
    }

    /**
     * 生成规则code 001001
     *
     * @param maxCode
     * @param parentCode
     * @return
     * @author: liujun
     * @date: 2021/7/5 7:46 下午
     */
    public static String getCode(String maxCode, String parentCode) {
        if (StrUtil.isBlank(parentCode)) {
            parentCode = "";
        }
        if (StrUtil.isBlank(maxCode)) {
            return parentCode + "001";
        } else {
            maxCode = Convert.toStr(Convert.toLong(maxCode) + 1);
            for (int i = 0; i < maxCode.length() % 3; i++) {
                maxCode = "0" + maxCode;
            }
            return maxCode;
        }
    }

    /**
     * 获取uuid
     *
     * @return
     * @author: liujun
     * @date: 2021/7/6 5:32 下午
     */
    public static String getUuid() {
        return IdUtil.randomUUID().replace("-", "");
    }
}
